\hypertarget{jchar_8c}{
\section{/media/sda6/Data/Subjects/Informatic/Programing/Projects/Own/tristan/jchar/jchar.c File Reference}
\label{jchar_8c}\index{/media/sda6/Data/Subjects/Informatic/Programing/Projects/Own/tristan/jchar/jchar.c@{/media/sda6/Data/Subjects/Informatic/Programing/Projects/Own/tristan/jchar/jchar.c}}
}
{\tt \#include $<$linux/autoconf.h$>$}\par
{\tt \#include $<$linux/module.h$>$}\par
{\tt \#include $<$linux/moduleparam.h$>$}\par
{\tt \#include $<$linux/init.h$>$}\par
{\tt \#include $<$linux/kernel.h$>$}\par
{\tt \#include $<$linux/slab.h$>$}\par
{\tt \#include $<$linux/fs.h$>$}\par
{\tt \#include $<$linux/errno.h$>$}\par
{\tt \#include $<$linux/types.h$>$}\par
{\tt \#include $<$linux/proc\_\-fs.h$>$}\par
{\tt \#include $<$linux/fcntl.h$>$}\par
{\tt \#include $<$linux/seq\_\-file.h$>$}\par
{\tt \#include $<$linux/cdev.h$>$}\par
{\tt \#include $<$asm/system.h$>$}\par
{\tt \#include $<$asm/uaccess.h$>$}\par
{\tt \#include \char`\"{}jchar.h\char`\"{}}\par


Include dependency graph for jchar.c:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=420pt]{jchar_8c__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{jchar_8c_0ba3b7d16390efd873b107d722f3ae8a}{jchar\_\-trim} ()
\item 
int \hyperlink{jchar_8c_3bbd214a7b03e2c98c877cbb1157fa6c}{jchar\_\-open} (struct inode $\ast$inode, struct file $\ast$filp)
\begin{CompactList}\small\item\em Open file operation. \item\end{CompactList}\item 
int \hyperlink{jchar_8c_1a6e453151825f48751a98ed251ccfd0}{jchar\_\-release} (struct inode $\ast$inode, struct file $\ast$filp)
\begin{CompactList}\small\item\em Release file operation. \item\end{CompactList}\item 
int \hyperlink{jchar_8c_be1de09e42154af2db9d11dfc2cda3dd}{jchar\_\-init\_\-module} (void)
\item 
void \hyperlink{jchar_8c_0b8e2606d7488107885480444664b046}{jchar\_\-exit\_\-module} (void)
\item 
\hyperlink{jchar_8c_79b67152644389ab4cf3e7079d094dad}{module\_\-init} (jchar\_\-init\_\-module)
\item 
\hyperlink{jchar_8c_0f361ad1ebbc0c51491d20cb5282a6cc}{module\_\-exit} (jchar\_\-exit\_\-module)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
int \hyperlink{jchar_8c_59e6722bfe132f1e3d305fcb6f38f3a3}{jchar\_\-major} = 0
\item 
int \hyperlink{jchar_8c_d120aba7d30295a1db309e6f35fa6161}{jchar\_\-minor} = 0
\item 
int \hyperlink{jchar_8c_ecf7c40f8bae6dd58c1ce3f9b303f12c}{jchar\_\-nr\_\-devs} = 4
\end{CompactItemize}


\subsection{Function Documentation}
\hypertarget{jchar_8c_0b8e2606d7488107885480444664b046}{
\index{jchar.c@{jchar.c}!jchar\_\-exit\_\-module@{jchar\_\-exit\_\-module}}
\index{jchar\_\-exit\_\-module@{jchar\_\-exit\_\-module}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-exit\_\-module]{\setlength{\rightskip}{0pt plus 5cm}void jchar\_\-exit\_\-module (void)}}
\label{jchar_8c_0b8e2606d7488107885480444664b046}


\hypertarget{jchar_8c_be1de09e42154af2db9d11dfc2cda3dd}{
\index{jchar.c@{jchar.c}!jchar\_\-init\_\-module@{jchar\_\-init\_\-module}}
\index{jchar\_\-init\_\-module@{jchar\_\-init\_\-module}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-init\_\-module]{\setlength{\rightskip}{0pt plus 5cm}int jchar\_\-init\_\-module (void)}}
\label{jchar_8c_be1de09e42154af2db9d11dfc2cda3dd}


\hypertarget{jchar_8c_3bbd214a7b03e2c98c877cbb1157fa6c}{
\index{jchar.c@{jchar.c}!jchar\_\-open@{jchar\_\-open}}
\index{jchar\_\-open@{jchar\_\-open}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-open]{\setlength{\rightskip}{0pt plus 5cm}int jchar\_\-open (struct inode $\ast$ {\em inode}, \/  struct file $\ast$ {\em filp})}}
\label{jchar_8c_3bbd214a7b03e2c98c877cbb1157fa6c}


Open file operation. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em inode}]pointer. \item[{\em filp}]file structure pointer. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]0 if success. \end{Desc}
\hypertarget{jchar_8c_1a6e453151825f48751a98ed251ccfd0}{
\index{jchar.c@{jchar.c}!jchar\_\-release@{jchar\_\-release}}
\index{jchar\_\-release@{jchar\_\-release}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-release]{\setlength{\rightskip}{0pt plus 5cm}int jchar\_\-release (struct inode $\ast$ {\em inode}, \/  struct file $\ast$ {\em filp})}}
\label{jchar_8c_1a6e453151825f48751a98ed251ccfd0}


Release file operation. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em inode}]pointer. \item[{\em filp}]file structure pointer. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]0 if success. \end{Desc}
\hypertarget{jchar_8c_0ba3b7d16390efd873b107d722f3ae8a}{
\index{jchar.c@{jchar.c}!jchar\_\-trim@{jchar\_\-trim}}
\index{jchar\_\-trim@{jchar\_\-trim}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-trim]{\setlength{\rightskip}{0pt plus 5cm}int jchar\_\-trim ()}}
\label{jchar_8c_0ba3b7d16390efd873b107d722f3ae8a}


\hypertarget{jchar_8c_0f361ad1ebbc0c51491d20cb5282a6cc}{
\index{jchar.c@{jchar.c}!module\_\-exit@{module\_\-exit}}
\index{module\_\-exit@{module\_\-exit}!jchar.c@{jchar.c}}
\subsubsection[module\_\-exit]{\setlength{\rightskip}{0pt plus 5cm}module\_\-exit (jchar\_\-exit\_\-module)}}
\label{jchar_8c_0f361ad1ebbc0c51491d20cb5282a6cc}


\hypertarget{jchar_8c_79b67152644389ab4cf3e7079d094dad}{
\index{jchar.c@{jchar.c}!module\_\-init@{module\_\-init}}
\index{module\_\-init@{module\_\-init}!jchar.c@{jchar.c}}
\subsubsection[module\_\-init]{\setlength{\rightskip}{0pt plus 5cm}module\_\-init (jchar\_\-init\_\-module)}}
\label{jchar_8c_79b67152644389ab4cf3e7079d094dad}




\subsection{Variable Documentation}
\hypertarget{jchar_8c_59e6722bfe132f1e3d305fcb6f38f3a3}{
\index{jchar.c@{jchar.c}!jchar\_\-major@{jchar\_\-major}}
\index{jchar\_\-major@{jchar\_\-major}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-major]{\setlength{\rightskip}{0pt plus 5cm}int {\bf jchar\_\-major} = 0}}
\label{jchar_8c_59e6722bfe132f1e3d305fcb6f38f3a3}


\hypertarget{jchar_8c_d120aba7d30295a1db309e6f35fa6161}{
\index{jchar.c@{jchar.c}!jchar\_\-minor@{jchar\_\-minor}}
\index{jchar\_\-minor@{jchar\_\-minor}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-minor]{\setlength{\rightskip}{0pt plus 5cm}int {\bf jchar\_\-minor} = 0}}
\label{jchar_8c_d120aba7d30295a1db309e6f35fa6161}


\hypertarget{jchar_8c_ecf7c40f8bae6dd58c1ce3f9b303f12c}{
\index{jchar.c@{jchar.c}!jchar\_\-nr\_\-devs@{jchar\_\-nr\_\-devs}}
\index{jchar\_\-nr\_\-devs@{jchar\_\-nr\_\-devs}!jchar.c@{jchar.c}}
\subsubsection[jchar\_\-nr\_\-devs]{\setlength{\rightskip}{0pt plus 5cm}int {\bf jchar\_\-nr\_\-devs} = 4}}
\label{jchar_8c_ecf7c40f8bae6dd58c1ce3f9b303f12c}


